﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class КадровоеПланированиеДополнительный
	{
		////////////////////////////////////////////////////////////////////////////////
		// Вспомогательные процедуры, функции

		public void ДобавитьКнопкуВПодменю(/*Подменю, Имя, Текст, Действие, Подсказка, Пояснение*/)
		{
			//НоваяКнопка = Подменю.Кнопки.Добавить(Имя, ТипКнопкиКоманднойПанели.Действие, Текст, Действие);
			//НоваяКнопка.Подсказка = Подсказка;
			//НоваяКнопка.Пояснение = Пояснение;
		}
		////////////////////////////////////////////////////////////////////////////////
		// Процедуры, функции объекта

		public object ОбновитьРабочиеМестаУпр(/*Подразделение, Период = Неопределено*/)
		{
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("Подразделение",	Подразделение);
			if(true/*Период <> Неопределено*/)
			{
				//Запрос.УстановитьПараметр("ДатаАктуальности",	КонецДня(Период));
				/*Запрос.Текст =
		"ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	КадровоеПланирование.Подразделение КАК Подразделение,
		|	ВЫБОР
		|		КОГДА КадровоеПланирование.Подразделение = &Подразделение
		|			ТОГДА ЛОЖЬ
		|		ИНАЧЕ ИСТИНА
		|	КОНЕЦ КАК ЕстьИерархия,
		|	КадровоеПланирование.Должность,
		|	КадровоеПланирование.Должность.Наименование КАК ДолжностьНаименование,
		|	КадровоеПланирование.ЗанятоСтавок,
		|	КадровоеПланирование.КоличествоСтавок,
		|	КадровоеПланирование.КоличествоСтавок - КадровоеПланирование.ЗанятоСтавок КАК Вакантно
		|ИЗ
		|	(ВЫБРАТЬ
		|		КадровоеПланирование.Подразделение КАК Подразделение,
		|		КадровоеПланирование.Должность КАК Должность,
		|		МАКСИМУМ(КадровоеПланирование.ЗанятоСтавок) КАК ЗанятоСтавок,
		|		МАКСИМУМ(КадровоеПланирование.КоличествоСтавок) КАК КоличествоСтавок
		|	ИЗ
		|		(ВЫБРАТЬ
		|			КадровыйПланСрезПоследних.Подразделение КАК Подразделение,
		|			КадровыйПланСрезПоследних.Должность КАК Должность,
		|			СУММА(0) КАК ЗанятоСтавок,
		|			СУММА(КадровыйПланСрезПоследних.Количество) КАК КоличествоСтавок
		|		ИЗ
		|			РегистрСведений.КадровыйПлан.СрезПоследних(
		|					&ДатаАктуальности,
		|					ПодразделениеОрганизации = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)";*/
				if(true/*Подразделение <> Неопределено*/)
				{
					/*Запрос.Текст = Запрос.Текст + "
		|						И Подразделение В ИЕРАРХИИ (&Подразделение)";*/
				}
				/*Запрос.Текст = Запрос.Текст + "
		|						И Подразделение <> ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)) КАК КадровыйПланСрезПоследних
		|		
		|		СГРУППИРОВАТЬ ПО
		|			КадровыйПланСрезПоследних.Подразделение,
		|			КадровыйПланСрезПоследних.Должность
		|		
		|		ОБЪЕДИНИТЬ ВСЕ
		|		
		|		ВЫБРАТЬ
		|			ЗанятыеРабочиеМестаОстатки.Подразделение,
		|			ЗанятыеРабочиеМестаОстатки.Должность.Должность,
		|			СУММА(ЗанятыеРабочиеМестаОстатки.КоличествоОстаток),
		|			СУММА(0)
		|		ИЗ
		|			РегистрНакопления.ЗанятыеРабочиеМеста.Остатки(
		|					&ДатаАктуальности,
		|					Должность.Должность <> ЗНАЧЕНИЕ(Справочник.Должности.ПустаяСсылка)";*/
				if(true/*Подразделение <> Неопределено*/)
				{
					/*Запрос.Текст = Запрос.Текст + "
		|						И Подразделение В ИЕРАРХИИ (&Подразделение)";*/
				}
				/*Запрос.Текст = Запрос.Текст + "
		|																	) КАК ЗанятыеРабочиеМестаОстатки
		|		
		|		СГРУППИРОВАТЬ ПО
		|			ЗанятыеРабочиеМестаОстатки.Подразделение,
		|			ЗанятыеРабочиеМестаОстатки.Должность.Должность
		|		
		|		ОБЪЕДИНИТЬ ВСЕ
		|		
		|		ВЫБРАТЬ
		|			Вакансии.Подразделение,
		|			Вакансии.Должность,
		|			СУММА(0),
		|			СУММА(1)
		|		ИЗ
		|			Справочник.Вакансии КАК Вакансии
		|		ГДЕ
		|			(НЕ Вакансии.Закрыта)";*/
				if(true/*Подразделение <> Неопределено*/)
				{
					/*Запрос.Текст = Запрос.Текст + "
		|			И Вакансии.Подразделение В ИЕРАРХИИ(&Подразделение)";*/
				}
				/*Запрос.Текст = Запрос.Текст + "
		|			И Вакансии.Подразделение ССЫЛКА Справочник.Подразделения
		|		
		|		СГРУППИРОВАТЬ ПО
		|			Вакансии.Подразделение,
		|			Вакансии.Должность) КАК КадровоеПланирование
		|	
		|	СГРУППИРОВАТЬ ПО
		|		КадровоеПланирование.Подразделение,
		|		КадровоеПланирование.Должность) КАК КадровоеПланирование
		|ГДЕ
		|	НЕ (КадровоеПланирование.КоличествоСтавок = 0
		|	И КадровоеПланирование.ЗанятоСтавок = 0)
		|
		|УПОРЯДОЧИТЬ ПО
		|	ДолжностьНаименование,
		|	Подразделение ИЕРАРХИЯ";*/
			}
			return null;
		}
		////////////////////////////////////////////////////////////////////////////////
		// Процедуры, функции для работы формы

		public void ПриИзмененииРежимаНабораПерсонала(/*ЭтаФорма*/)
		{
			//ЭлементыФормы = ЭтаФорма.ЭлементыФормы;
			//Подразделения = ЭлементыФормы.Подразделения;
			//РежимНабораПерсонала = ПроцедурыУправленияПерсоналомДополнительный.ПолучитьРежимНабораПерсонала();
			//КнопкиДополнительнойПанели = ЭлементыФормы.ДополнительнаяКоманднаяПанель.Кнопки.Подменю.Кнопки;
			if(true/*РежимНабораПерсонала = Перечисления.ВидыОрганизационнойСтруктурыПредприятия.ПоСтруктуреЮридическихЛиц*/)
			{
				//Подразделения.Данные = "ПодразделенияОрганизаций";
				//КнопкиДополнительнойПанели.ПоСтруктуреЮридическихЛиц.Пометка= Истина;
				//КнопкиДополнительнойПанели.ПоЦентрамОтветственности.Пометка	= Ложь;
				//Подразделения.Значение.Отбор.Владелец.Значение = ЭтаФорма.Организация;
				//ЭлементыФормы.ПанельОрганизация.Свертка	= РежимСверткиЭлементаУправления.Нет;
			}
			//Подразделения.Дерево 	= Истина;
			//Подразделения.Шапка 	= Ложь;
			//Подразделения.НачальноеОтображениеДерева = НачальноеОтображениеДерева.РаскрыватьВсеУровни;
			//КолонкаНаименование = Подразделения.Колонки.Добавить("Наименование");
			//КолонкаНаименование.ОтображатьИерархию = Истина;
			//КолонкаНаименование.Данные = "Наименование";
			if(true/*ЭлементыФормы.ВстроеннаяСправка.Документ.readyState = "complete"*/)
			{
				//ЭтаФорма.ОбновитьСправкуФормы();
			}
		}

		public void ОбновитьДанныеПодразделения(/*ЭтотОбъект, ЭтаФорма*/)
		{
			//РабочиеМеста = ЭтотОбъект.РабочиеМеста;
			//ИзмененияКадровогоПлана = ЭтаФорма.ИзмененияКадровогоПлана;
			//ЭлементыФормы = ЭтаФорма.ЭлементыФормы;
			//РабочиеМеста.Очистить();
			if(true/*Не ЭтаФорма.ЕстьДоступУпр*/)
			{
			}
			//ИзмененияКадровогоПлана.Отбор.ДокументыИзмененияКадровогоПланаПоПодразделению.Использование	= Истина;
			//ИзмененияКадровогоПлана.Отбор.Ссылка.Использование											= Ложь;
			//ДанныеСтроки = ЭлементыФормы.Подразделения.ТекущиеДанные;
			if(true/*ДанныеСтроки = Неопределено*/)
			{
				//ИзмененияКадровогоПлана.Отбор.ДокументыИзмененияКадровогоПланаПоПодразделению.Значение	= Справочники.Подразделения.ПустаяСсылка();
				//РабочиеМеста.Загрузить(ОбновитьРабочиеМестаУпр(Неопределено, ?(ЭтаФорма.РежимПериода, Неопределено, ЭтаФорма.ДатаСреза)).Выгрузить());
				//ЭлементыФормы.РабочиеМеста.Колонки.Подразделение.Видимость	= ЭтаФорма.РабочиеМеста.Итог("ЕстьИерархия") > 0;
			}
			//РабочиеМеста.Загрузить(ОбновитьРабочиеМестаУпр(ДанныеСтроки.Ссылка, ?(ЭтаФорма.РежимПериода, Неопределено, ЭтаФорма.ДатаСреза)).Выгрузить());
			//ЭлементыФормы.РабочиеМеста.Колонки.Подразделение.Видимость	= РабочиеМеста.Итог("ЕстьИерархия") > 0;
			//ИзмененияКадровогоПлана.Отбор.ДокументыИзмененияКадровогоПланаПоПодразделению.Значение	= ДанныеСтроки.Ссылка;
		}

		public void ЗаполнитьДополнительноеМеню(/*ЭтаФорма, ДополнительныеДействия*/)
		{
			//ИспользоватьУправленческийУчетЗарплаты = глЗначениеПеременной("глИспользоватьУправленческийУчетЗарплаты");
			//ДополнительнаяПанель = ЭтаФорма.ЭлементыФормы.ДополнительнаяКоманднаяПанель;
			//ДополнительнаяПанель.Видимость = ИспользоватьУправленческийУчетЗарплаты;
			//Подменю = ДополнительнаяПанель.Кнопки.Добавить("Подменю", 	ТипКнопкиКоманднойПанели.Подменю, "Режим кадрового планирования");
			//ДобавитьКнопкуВПодменю(Подменю, "ПоСтруктуреЮридическихЛиц", "По структуре юридических лиц", ДополнительныеДействия, "Изменить режим планирования", "Изменить режим планирования");
			//ДобавитьКнопкуВПодменю(Подменю, "ПоЦентрамОтветственности", "По центрам ответственности", ДополнительныеДействия, "Изменить режим планирования", "Изменить режим планирования");
		}
	}
}
